﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;

namespace Fuxi
{
    public partial class FuxiType
    {
        void MakePreflopDecision()
        {
            switch (strategy)
            {
                case StrategyType.Basic:
                    if (winOdds > 0.78 || //QQ and up
                        winOdds > 0.63 && NumFuxiRaised(G.Preflop) == 0 ||
                        winOdds > 0.58 && NumOppRaised(G.Preflop) == 0 && H.HavePosition
                        )
                    {
                        ExecuteRaise();
                    }
                    else
                    {
                        ExecuteCall();
                    }
                    break;
                case StrategyType.Trap:
                    if (winOdds < 0.78 && winOdds > 0.66 && NumFuxiRaised(G.Preflop) == 0)
                    {
                        ExecuteRaise();
                    }
                    else 
                    {
                        ExecuteCall();
                    }
                    break;
                case StrategyType.Jackel:
                    if (winOdds > 0.78 || //QQ and up
                        winOdds > 0.66 && NumFuxiRaised(G.Preflop) == 0 ||
                        winOdds > 0.55 && NumFuxiRaised(G.Preflop) == 0 && H.HavePosition && !isOppCallingStation ||
                        ShouldStatRaise
                        )
                    {
                        ExecuteRaise();
                    }
                    else
                    {
                        ExecuteCall();
                    }
                    break;
                default:
                    break;
            }
        }
    }
}




